The MetaKit Library 1.7 Copyright (C) 1996-1997 Meta Four Software ============================================================================== DESCRIPTION The MetaKit C++ classes implement highly-structured persistent containers. This library can be used as an efficient database for many apps/utilities. Some key features are: uncorruptable data files, an efficient file format, "on-the-fly" restructuring, and portability - all using a very simple API. For an introduction to MetaKit, see the HTML info in the "docs" directory. For a summary of changes in this release, see the "whatsnew.txt" file. This software can be freely downloaded for evaluation purposes. The full C++ sources of MetaKit are available, there are no royalties involved. Please read the disclaimer, which is in the file "include\m4kit.h". The latest news can always be found at: http://www.meta4.com/metakit/ GETTING THE RIGHT PACKAGE The core distribution includes documentation, header files, sample code, and executables with DLLs which will run on Windows 3.1x, 95, and NT. If you use MSVC 1.52 or 5.0, then you now have everything to try MetaKit in your own applications (release build only, requires DLL versions of MFC). The choice of MSVC/Windows is not an endorsement, it was selected because that package is small and probably runs on "some computer near you". As of this writing, MetaKit ports exist for Unix, Macintosh, VMS, MS-DOS, and many Windows-hosted C++ development environments (Borland, Microsoft, Powersoft, Symantec, Watcom). New ports are announced on the website. For other compilers and/or platforms, you can download the library builds from the web. The MetaKit product range consists of five categories: 1. CORE distribution: docs, headers, sample code, Windows exe/dll's 2. ADD-ON packages: platform/IDE-specific versions with libraries 3. DEVELOPER releases: debug builds and static versions of the libs 4. SOURCE code: complete source code of the library, with makefiles 5. UNIVERSAL source: additional source code for non-MFC environments There are exactly 5 files in the CORE distribution: readme.txt You are currently reading it... whatsnew.txt New features and changes in this release order.txt Order form, and details how to order on-line setup.exe Installs the MetaKit core package after confirmation file_id.diz Brief description, for automatic extraction Add-on packages for DOS/Win: m4kit17b.zip Borland C++ 4.52 (Windows 16-bit) m4kit17j.zip DJ Delorie 2.0.1 (GNU C++ for MS-DOS) Add-on packages for other platforms use other archive formats, such as: m4kit17i.tgz BSDI 2.1 Gnu C++ 2.7.2 (tar, gzipped) m4kit17m.hqx Mac Metrowerks Codewarrior 11 - 68K (stuffed, binhex) m4kit17x.tgz Linux ELF Gnu C++ 2.7.2 (tar, gzipped) Some of the add-ons include the core distribution to ease installation. Distributions and ports can evolve quite rapidly, so be sure to check the Metakit homepage on the web to make sure you have the latest release. As of this writing (June 1997), there were over a dozen developer releases. INSTALLING METAKIT To install the distribution files on Windows, just extract the "setup.exe" program and run it. After confirmation, all the files in the core package will be copied to a directory (the default is C:\METAKIT). Please do not install this release over an earlier version of Metakit. The documentation for MetaKit is in HTML format, in the "docs" directory. To use it, unzip the "M4KITDOC.ZIP" file, but please note that filenames are longer than MS-DOS or Windows 3.1 can handle, and will be truncated. To install an ADD-ON package (after running "setup.exe"), you must extract its files to a new subdirectory. Then, move the DLL to the "bin" subdir, and the import LIB to the "lib" subdirectory. All add-ons use unique file names, so you can install as many of them as you like. To uninstall MetaKit, simply delete the entire directory tree. MetaKit does not install hidden files, create "ini" files, or alter the registry. The standard or universal source code release must be installed ON TOP OF the core distribution, they do not interfere with other installed add-ons. Installation on Unix and Macintosh is also very simple: just extract the archive contents using standard utilities (tar / gzip, resp. StuffIt). ROADMAP The MetaKit core distribution creates the following sub-directories: bin\ Executables of the examples and DLL versions of MetaKit docs\ Documentation in HTML format (see install notes above) examples\ Source code examples (with MSVC 1.52 makefiles) include\ Header files lib\ Libraries needed to build applications Add-on packages for Windows contain only the extra files needed for their respective environment (usually just a dll and an import library for it). For Unix and Macintosh, add-ons also contain the header files and some sample code, to avoid having to convert between different text formats. The developer releases all contain more library builds. The DLL's can be copied to the "bin" subdir, the static/import libraries can go to "lib". The source code releases of Metakit add the following sub-directories: include\ More headers, for optional inlined definitions (*.inl) ports\ Notes and makefiles for several environments (universal) regress\ Extensive regression-test sources with sample output src\ Source code of MetaKit (C++ files and private headers) And also: msvc16\ Project files to build all MSVC / Win 16 configurations msvc32\ Project files to build all MSVC / Win 32 configurations ..etc..\ More project files and make/IDE-related files (universal) CONFIGURATIONS Developer releases are available to all registered users, and contain a wide range of libraries: debug vs. release builds, static vs. dynamic, and a choice of underlying framework (MFC, STL/string/stdio, or "universal"). As of version 1.7, Metakit supports using any of the above configurations, (as far as supported by the environment of course). It's even possible to use the "standard" or "universal" configurations of MetaKit in combination with MFC, simply by adding a "#define q4_STD 1" or "#define q4_UNIV 1". PORTABILITY This release has been tested with a very wide range of compilers and has been compiled on platforms ranging from small-model Intel (MS-DOS) to the 64-bit Dec Alpha (Unix as well as OpenVMS). All builds are based on the same source code, and the datafiles are portable between all platforms. On those platforms that support it, the library can be built as either a static library or a dynamic DLL (shared library). Also, on those platforms that support it (currently Unix and Win 95/NT), memory mapped files are used to greatly reduce memory usage during access. The library code can use STL and/or MFC classes if available, but will work even if the compiler doesn't support templates, exceptions, or RTTI. MetaKit does not impose restrictions if *you* wish to use any of these. All C++ identifiers with global scope include the digit four. Namespace support will be added when this addition to C++ becomes more widespread. Support for other compilers, frameworks, hardware, and operating systems will be added when needed, new ports usually require very little effort. REGISTRATION The MetaKit Library is not free, you must register for US$ 25 if you use this code in your own software after an evaluation period of 30 days. When used commercially, you must register and purchase one of the two available source code licenses to obtain the right to incorporate this library code. MetaKit licenses are personal - all developers must get separate licenses. Payment of the US$ 25 registration fee entitles you to: * The right to use this software for personal and non-profit use * Download a wide range of "developer release" library versions * Timely notification by email of any new revisions and updates * Free registration of every revision for the coming 12 months * Quick response times for all technical support questions * A warm thank you - you're supporting me to continue this effort! For US$ 90, you will receive the Source code version (MFC): * All of the above benefits are of course included in this package * The right to include and distribute object code for commercial use * Fully commented source code in C++ of the MetaKit library (MFC only) * Makefiles and test software for several Windows/MFC environments * Full access to all beta and final library builds in the support area * A twelve month subscription to all new source code releases The Universal version is available in different formats for $165: * All of the above, with sources and makefiles for multiple platforms * Datafiles are fully portable, streaming also works across platforms * This version can be used on: MS-DOS, Windows, Macintosh, Unix, VMS * New ports will be announced and made available free of charge * Technical support when porting the MetaKit sources to new platforms * A twelve month subscription to all new universal source releases If you purchase a basic version, you can upgrade it at any later moment: * Upgrade from Registered to Source code (Windows/MFC) for $75 * Upgrade from Source code to the Universal version for $85 Metakit can be ordered securely on-line, or by phone, fax, mail, using a check, a credit card, or a bank transfer. See "ORDER.TXT" for details. DISTRIBUTION AND SUPPORT The MetaKit Library software package is copyright Meta Four Software, NL. You may not distribute this information, nor any portions thereof, as part of a general database- or object-persistence software library or utility. You may distribute this shareware release for any other purpose, provided that all files are included without change, including this description. MetaKit is actively supported by its designer, with quick replies to email and fax, usually within (much) less than two business days. There is also a web-based support forum with an email gateway, see the website. ABOUT META FOUR SOFTWARE Meta Four Software was founded in October 1989, and is fully owned by Jean-Claude Wippler. For a brief company overview, see the website. CONTACT INFORMATION Jean-Claude Wippler mailto:jcw@meta4.com Meta Four Software http://www.meta4.com Meekrap oord 6 3991 VE, Houten fax:+31 30 635 2337 The Netherlands ==============================================================================